package com.softer.wxzj.mapper;

import com.softer.wxzj.entity.DepReq;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.math.BigDecimal;
import java.util.List;

@Repository
public interface DepReqMapper {
    int deleteByPrimaryKey(String id);

    int insert(DepReq record);

    int insertSelective(DepReq record);

    DepReq selectByPrimaryKey(String id);

    int updateByPrimaryKeySelective(DepReq record);

    int updateByPrimaryKey(DepReq record);

    /**
     * 查询条数
     *
     * @param id
     * @return
     */

    int updateToRemove(@Param("id") String id, @Param("state") String state, @Param("deferAccr") BigDecimal deferAccr);

    int selectCountNum(String id);

    /**
     * 看是否申请了
     *
     * @param id
     * @return
     */
    int selectByDepReqList(String id);

    List<String> selectPayInfoById(String id);

    /**
     * 修改状态
     *
     * @param id
     * @param step
     * @return
     */
    int updateStep(@Param("id") String id, @Param("step") String step, @Param("date") String date);

    int updateByNo(DepReq depReq);

    /**
     * 修改审核状态和step
     * @param id
     * @param state
     * @return
     */
    int  updateState(@Param("id")String id,@Param("state")String state);
    /**
     * 修改房屋(记账退款)
     *
     * @param busiNo
     * @return
     */
    int updateHouseFunBul(@Param("busiNo") String busiNo);

    DepReq getInfoByNo(String no);

    /**
     * 查询单条数据
     *
     * @param id
     * @return
     */
    DepReq getInfo(String id);

    /**
     * 查询选中的缴存申请的对应的银行和总金额
     *
     * @param id
     * @return
     */
    List<DepReq> sumByBankId(@Param("id") String id);

    /**
     * 查询该房屋是否是第一次交存
     *
     * @param id
     * @return
     */
    int selectHouseFirstFunbal(String id);

    int selectCreater(String perNo);

    /**
     * 查询
     *
     * @param busiNo
     * @param o
     * @return
     */
    int updateHfmpdate(@Param("busiNo") String busiNo, @Param("hfmpDate") String hfmpDate);

    /**
     * 查询房间发生过缴存申请的数量
     *
     * @param id 房间ID
     * @return 缴存申请的数量
     */
    String getNoByHouseId(String id);

    /**
     * 查询审核数据
     * @param depReq
     * @return
     */
    List<DepReq> getAuditListByDepReq(DepReq depReq);

    /**
     * 审核通过
     * @param depReq
     * @return
     */
    int succUpdate(DepReq depReq);

    /**
     * 申请查询
     * @param depReq
     * @return
     */
    List<DepReq> getAllDepReqList(DepReq depReq);

    /**
     * 缴存审核查询
     * @param depReq
     * @return
     */
    List<DepReq> submitDepList(DepReq depReq);
}
